function varargout = M_supportedBoards(varargin)

% PROPERTIES:
% ProductNumbers,CardNumber,NAI,{Bits}
BoardProps = {...
  { {'18B0','18C0'},6052,16},... % E-SERIES
  { {'1350','15B0'},6071,16,12},...
  { {'70B8','72A0','72E8'}, 6251,16},... % M-SERIES
  { {'70B7','70BA'},            6254,32},...
  { {'71E0','71E1'},             6255,80},...
  { {'70AB','7253','717F'}, 6259,32},...
  { {'742A','742B','74F8'},  6343,16},... % X-SERIES
  { {'742F','74FA'},             6351,16},...
  { {'7432','7433','74FD'},  6361,16},...
  { {'7429'},                       6323,32},...
  { {'742D','74F7'},            6343,32},... 
  { {'7431','74FB'},             6353,32},...  
  { {'7434','7435','74FE'},   6363,32},...
};

if nargin & strcmp(lower(varargin{1}),'list')
  fprintf('Supported Boards (All existing versions for each: PCI, PCIe, PXI, PXIe, USB): \n')
  for i=1:length(BoardProps)
    fprintf([' > NI-',n2s(BoardProps{i}{2}),' (NAI = ',n2s(BoardProps{i}{3}),')\n']);
  end
  fprintf('Other Boards can be added easily in M_supportedBoards, if compatible with the NIDAQ driver\n')
end

if nargout
  varargout{1} = BoardProps;
else 
  varargout = {};
end
